\documentclass[a4paper,11ptn]{report}                                   %
\usepackage[italian]{babel}                                             %
\usepackage{graphicx}                                                   %
\usepackage[colorlinks=true]{hyperref}                                  %
\usepackage{url}                                                        %
\usepackage{eurosym}                                                    %
\usepackage{lastpage}                                                   %
\usepackage{fancyhdr}
\usepackage[utf8]{inputenc}  %
\hypersetup{linkbordercolor=1 1 1}                                      %
\hypersetup{urlcolor=blue}                                              %
\hypersetup{linkcolor=black}                                            %
\graphicspath{{../immagini/}}                                           %



\newcommand{\Documento}{Piano di Qualifica}                      % nome del documento
\newcommand{\Sommario}{Aggiornamento del Piano di Qualifica SIFISY, contenente solamente le
modifiche dei test rispetto al documento consegnato alla Revisione di Qualifica}                              % sommario
\newcommand{\CodiceRevisione}{RA}                                      % revisione (es. RPP)
\newcommand{\DataCreazione}{12 Luglio 2010}                                           % data di creazione
\newcommand{\Versione}{Delta}                                                % versione attuale
\newcommand{\StatoDocumento}{Formale, Esterno}                                          % stato (es. Formale, Interno)
\newcommand{\Redazione}{Samuele Faggian}                                               % autore del documento
\newcommand{\Verifica}{Giuseppe Biolo}                                % verificatore del documento
\newcommand{\Approvazione}{Luca Zanini}                      % chi approva (responsabile)
\newcommand{\Committente}{Prof. Tullio Vardanega, Prof. Renato Conte} 
\newcommand{\Proponente}{Dott. Claudio Palazzi}                       % committente/i



\fancypagestyle{plain}{                                                 %
\fancyhf{}                                                              %
\fancyhead[L]{\Documento\ \Versione\ - \CodiceRevisione}                            %
\fancyfoot[C]{\thepage}                                                 %
\fancyhead[R]{\includegraphics[scale=0.3]{logoSevenSoft.png}}           %
}                                                                       %
\begin{document}                                                        %
\pagenumbering{Roman}                                                   %
\begin{center}                                                          %
\includegraphics[scale=0.8]{logoSevenSoft.png}\\                        %
\vspace*{1in}                                                           %
\huge{\textbf{\textbf{\Documento}}}\\                                   %
\vspace*{2cm}                                                           %
Versione: \Versione\\                                                   %
\vspace*{3cm}                                                           %
\vspace*{0.5in}                                                         %
\textbf{Sommario}\\                                                     %
\end{center}                                                            %
\begin{normalsize}                                                      %
\Sommario                                                               %
\end{normalsize}                                                        %
%\end{center}                                                           %
\newpage                                                                %
\thispagestyle{plain}                                                   %
\vspace*{0.5in}                                                         %
\begin{center}                                                          %
\begin{tabular}{l}                                                      %
\Large{\textbf{Capitolato: Simulatore File System}}\\                   %
\begin{tabular}{|p{5cm}|p{7cm}|}                                        %
\hline                                                                  %
\textbf{Data creazione:} & \DataCreazione\\                             %
\hline                                                                  %
\textbf{Versione:} & \Versione\\                                        %
\hline                                                                  %
\textbf{Stato del documento:} & \StatoDocumento\\                       %
\hline                                                                  %
\textbf{Redazione:} & \Redazione\\                                      %
\hline                                                                  %
\textbf{Verifica:} & \Verifica \\                                     %
\hline                                                                  %
\textbf{Approvazione:}  & \Approvazione\\                               %
\hline                                                                  %
\textbf{Committente:} & \Committente\\                                  %
\hline                                                                  %
\textbf{Proponente:} & \Proponente\\
\hline
\end{tabular}\\                                                         %
\end{tabular}                                                           %
\end{center}    

\newpage                                                                %
\pagenumbering{arabic}                                                  %
\fancypagestyle{plain}{                                                 %
\fancyhf{}                                                              %
\fancyhead[L]{\Documento\ \Versione\ - \CodiceRevisione}                            %
\fancyfoot[C]{\thepage\ di \pageref{LastPage}}                          %
\fancyhead[R]{\includegraphics[scale=0.3]{logoSevenSoft.png}}           %
}                                                                       %
\pagestyle{plain}     


\section*{Introduzione}
\subsection*{Scopo del documento}
Lo scopo del presente documento \'e di notificare gli aggiornamenti che sono stati apportati rispetto al documento consegnato alla precedente revisione. Tali modifiche rappresentano il proseguimento delle attivit\`a di verifica e validazione del materiale prodotto

\section*{RQ - Revisione di Qualifica}
Documentazione per la Revisione di Qualifica: 
\begin{itemize}
\item segnalati parecchi errori tipografici soprattutto nel Manuale Utente, errori nella corrispondenza tra testo ed immagini riferite. Questo \`e causato da una verifica superficiale del documento
\item tracciamento dei requisiti insufficiente nella Definizione di Prodotto
\item insufficienti le parti riguardanti i problemi riscontrati dal team e la loro soluzione nel Piano di Progetto prontamente sistemata in modo il pi\`u possibile chiaro secondo il team
\item errore concettuale sull'inserimento del problema riscontrato dal team in sezione 2.2.1 del Piano di Qualifica. Era stata inserita per discutere del fatto che la qualit\`a del prodotto sarebbe stata inferiore a quanto preventivato dal team, ciononostante dopo la segnalazione \`e stata effettuata la correzione riguardante tale aspetto ritenendo pi\`u giusto non inserirla nel Piano di Qualifica
\end{itemize}
Il team ancora una volta si rende conto del basso livello qualitativo della documentazione consegnata nonostante abbia cercato di migliorarla dalle precedenti revisioni.

\newpage
\section*{Tracciamento test}
Di seguito verranno riportate tabelle riassuntive dei test fatti sulle varie classi presenti in \textit{SIFISY}. Considerando il fatto che i test sono utili se trovano errori diremo che un test \`e NEGATIVO se non ha riscontrato errori, POSITIVO altrimenti.

\paragraph{Simulation}
La classe \textsf{Simulation.java} \`e stata testata dalla classe \textsf{SimulationTest.java} con i seguenti risultati:

\begin{center}
\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
\textbf{Test} 		& \textbf{Descrizione} & \textbf{Esito}\\
\hline
testSingle() & Controlla se viene effettivamente inserito un file all'iterno della simulazione tramite inserimento singolo di file. Se c'è un inserimento controlla che il file inserito sia effettivamente quello desiderato & POSITIVI l'algorito utilizzato risultava troppo lento per frammentazioni molto grandi, utilizzato un altro algoritmo piu veloce\\
\hline
testInsPartsFirstFit() &  Controlla se viene richiamata la funzione per l'inserimento di un file con politica First-Fit (inserimento multiplo) & NEGATIVO\\
\hline
testInsPartsBestFit() & Controlla se viene richiamata la funzione per l'inserimento di un file con politica Best-Fit (inserimento multiplo) & NEGATIVO\\
\hline
testInsPartsWorstFit() & Controlla se viene richiamata la funzione per l'inserimento di un file con politica Worst-Fit (inserimento multiplo) & NEGATIVO\\
\hline
testInsPartsNextFit() & Controlla se viene richiamata la funzione per l'inserimento di un file con politica Next-Fit (inserimento multiplo) & NEGATIVO\\
\hline
testInsPartsDefault() & Controlla se viene richiamata la funzione per l'inserimento di un file tramite default (inserimento singolo) & NEGATIVO\\
\hline
\end{tabular}

\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
testCalculateRandomSpace() & Controlla se viene creato uno spazio random non troppo grande per l'inserimento di un file frammentato & POSITIVO lo spazio creato risultava con un limite superiore troppo grande, aggiusata l'operazione \% in modo che il limite superiore risulti ragionevole\\
\hline
testAddFile() & Controlla se viene effettivamente inserito un file all'iterno della simulazione tramite inserimento singolo di file& NEGATIVO\\
\hline
testBreakFile() & Controlla se la frammentazione di un file viene eseguita in modo corretto e che il file sia frammentato nel numero corretto di parti & NEGATIVO\\
\hline
testBreakFileNoFullLastBlock () & Controlla se la frammentazione di un file viene eseguita in modo corretto e che il file sia frammentato nel numero corretto di parti assumendo che la dimensione del file in relazione con la dimensione del blocco comporti un resto e che quindi l'ultimo blocco utilizzato non sia pieno& POSITIVO corretto l'if per il controllo dell'ultimo blocco (utilizzato != anziche ==)\\
\hline
testDeleteFile() & Controlla se viene effettivamente cancellato un file all'iterno della simulazione& NEGATIVO\\
\hline
testDeletePartsSome() & Controlla se vengono effettivamente cancellate le parti di un file che si desidera cancellare avendo anche altri file frammentati inseriti nella simulazioni & NEGATIVO\\
\hline
testDeletePartsNoOne() & Controlla se comporta degli errori il tentativo di cancellare parti di un file non presente nella simulazione & NEGATIVO\\
\hline
testCalculateBlockNumber() & Controlla se risulta corretto il calcolo dei blocchi utilizzabili al variare di dimensione del blocco e della partizione & POSITIVO correto un errore di variabile veniva utilizzato partitionExponent anziche blockExponent\\
\hline
\end{tabular}

\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
testFirstFit() & Controlla se viene effettivamente inserito un file all'iterno della simulazione tramite inserimento multiplo con politica di allocazione First-Fit. Se c'è un inserimento controlla che il file inserito sia effettivamente nella posizione corretta & NEGATIVO\\
\hline
testBestFit() & Controlla se viene effettivamente inserito un file all'iterno della simulazione tramite inserimento multiplo con politica di allocazione Best-Fit. Se c'è un inserimento controlla che il file inserito sia effettivamente nella posizione corretta & NEGATIVO\\
\hline
testWorstFit() & Controlla se viene effettivamente inserito un file all'iterno della simulazione tramite inserimento multiplo con politica di allocazione Worst-Fit. Se c'è un inserimento controlla che il file inserito sia effettivamente nella posizione corretta & NEGATIVO\\
\hline
testNextFit() & Controlla se viene effettivamente inserito un file all'iterno della simulazione tramite inserimento multiplo con politica di allocazione Next-Fit. Se c'è un inserimento controlla che il file inserito sia effettivamente nella posizione corretta & POSITIVO corretto l'aggiornamento della variabile nextIndex che contiene la posizione dell'ultimo file inserito\\
\hline
testNextFitRestart() & Controlla se viene effettivamente inserito un file all'iterno della simulazione tramite inserimento multiplo con politica di allocazione Next-Fit. Controlla che se non c'\`e spazio sufficente dall'ultimo file inserito alla fine della partizione che il file venga inserito in uno spazio idoneo ripartendo con la ricerca dall'inizio della partizione & POSITIVO l'algoritmo risultava lento, sistemati dei controlli per evitare alcune ricerche\\
\hline
testReadingTime10Kb() & Controlla se risulta corretto il valore calcolato come tempo di lettura con file da 10kb & NEGATIVO\\
\hline
testReadingTime20Kb() & Controlla se risulta corretto il valore calcolato come tempo di lettura con file da 20kb & NEGATIVO\\
\hline
\end{tabular}

\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
testExponentToStringByte() & Controlla se risulta corretta la conversione da stringa "Byte" a esponente in base 2 "0" & NEGATIVO\\
\hline
testExponentToStringKB() & Controlla se risulta corretta la conversione da stringa "KB" a esponente in base 2 "10" & NEGATIVO\\
\hline
testExponentToStringMB() & Controlla se risulta corretta la conversione da stringa "MB" a esponente in base 2 "20" & NEGATIVO\\
\hline
testExponentToStringGB() & Controlla se risulta corretta la conversione da stringa "GB" a esponente in base 2 "30" & NEGATIVO\\
\hline
testExponentToStringTB() & Controlla se risulta corretta la conversione da stringa "TB" a esponente in base 2 "40" & NEGATIVO\\
\hline
testGetFile() & Controlla se ritorna il file desiderato dalla lista di file& NEGATIVO\\
\hline
testGetFileNoReturn() & Controlla se ritorna null in caso il file desiderato non sia presente nalla lista di file& NEGATIVO\\
\hline
testFindSpace() & Controlla se lo spazio trovato per inserire il file nella simulazione è quello corretto & NEGATIVO\\
\hline
testCalculateFileFragmenta tionNoFrag() & Controlla se risulta corretto il calcolo della frammentazione di un file non frammentato& NEGATIVO\\
\hline
testCalculateFileFragmenta tion() & Controlla se risulta corretto il calcolo della frammentazione di un file& NEGATIVO\\
\hline
testGetConfigurationValues Ext2() & Controlla se ritorna i giusti valori della configurazione per file system di tipo Ext2& NEGATIVO\\
\hline
testGetConfigurationValues Ntfs() & Controlla se ritorna i giusti valori della configurazione per file system di tipo Ntfs& NEGATIVO\\
\hline
testGetConfigurationValues Fat32() & Controlla se ritorna i giusti valori della configurazione per file system di tipo Fat32& NEGATIVO\\
\hline
\end{tabular}
\end{center}

\newpage
\paragraph{Ext2}
La classe \textsf{Ext2.java} \`e stata testata dalla classe \textsf{Ext2Test.java} con i seguenti risultati:

\begin{center}
\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
\textbf{Test} 		& \textbf{Descrizione} & \textbf{Esito}\\
\hline
testCalculateMaxFile() & Controlla se il calcolo del file massimo inseribile, in base all'indirizzamento degli inode, \`e corretto. Deve ritornare un determinato valore in base alla dimensione del blocco e degli Inode & NEGATIVO\\
\hline
testInodeNumber() & Controlla se il calcolo degli Inode di un file di una data grandezza \`e corretto & POSITIVO: \`e stato corretta una condizione if errata\\
\hline
testInflationIndex() & Controlla che l'indice inflattivo di un file calcolato sia corretto & NEGATIVO\\
\hline
testInflactionIndexAverage () & Controlla che la media dell'indice inflattivo sia corretta & NEGATIVO\\
\hline
testFileSystemDimension() & Controlla il calcolo della dimensione del file system & NEGATIVO\\
\hline
testStart() & Consente di controllare se i calcoli dei risultati sono corretti nell'Ext2 & NEGATIVO\\
\hline
testViewMaxFile() & Controlla in base all'indirizzamento il file massimo inseribile (la funzione di Ext2 utilizza calculateMaxFile() ) & NEGATIVO\\
\hline
testGetResultsValues() & Controlla che il vettore che contiene i risultati da passare alla vista sia corretto & NEGATIVO\\
\hline
\end{tabular}
\end{center}

\paragraph{Ntfs}
La classe \textsf{Ntfs.java} \`e stata testata dalla classe \textsf{NtfsTest.java} con i seguenti risultati:

\begin{center}
\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
\textbf{Test} 		& \textbf{Descrizione} & \textbf{Esito}\\
\hline
testGetFileRecordsComposi tion() & Consente di controllare se i risultati del metodo che calcola la composizione dei record dell'Ntfs sono corretti& NEGATIVO\\
\hline
testStart() & Consente di controllare se i calcoli dei risultati sono corretti nell'Ntfs & POSITIVO: \`e stato corretto un errore di cast\\
\hline
testViewMaxFile() & Consente di controllare se il file massimo inseribile calcolato \`e corretto per l'Ntfs & NEGATIVO\\
\hline
testGetResultsValues() & Consente di controllare se il numero di risultati che andranno passati alla vista sono corretti in base alle opzioni scelte dall'utente & NEGATIVO\\
\hline
\end{tabular}
\end{center}

\newpage
\paragraph{Fat32}
La classe \textsf{Fat32.java} \`e stata testata dalla classe \textsf{Fat32Test.java} con i seguenti risultati:

\begin{center}
\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
\textbf{Test} 		& \textbf{Descrizione} & \textbf{Esito}\\
\hline
testStart() & Consente di controllare se i calcoli dei risultati sono corretti nell'Ntfs & POSITIVO: \`e stato corretto un errore di cast\\
\hline
testViewMaxFile() & Consente di controllare se il file massimo inseribile calcolato \`e corretto per l'Ntfs & NEGATIVO\\
\hline
testGetResultsValues() & Consente di controllare se il numero di risultati che andranno passati alla vista sono corretti in base alle opzioni scelte dall'utente & NEGATIVO\\
\hline
testGetFileMaxSize() & Consente di controllare che il file massimo in Fat32 sia effettivamente quello calcolato & NEGATIVO\\
\hline
testSetRecords() & Controlla che la dimensione dei record in base alla dimensione del blocco e della partizione sia corretta& NEGATIVO\\
\hline
testInflactionIndexAverage() & Controlla che la media dell'indice inflattivo sia corretta & NEGATIVO\\
\hline
testCalculateFat32Dim() & Consente di controllare se la dimensione della tabella della Fat32 \`e corretta & NEGATIVO\\
\hline
testGetMaxPartitionSize() & Consente di controllare se la partizione della Fat32 \`e effettivamente corretta & NEGATIVO\\
\hline
testGetConfigurationValues() & Consente di controllare se il numero di paraetri che andranno passati alla vista sono corretti in base alle opzioni scelte dall'utente & NEGATIVO\\
\hline
\end{tabular}
\end{center}

\paragraph{Model}
La classe \textsf{Model.java} \`e stata testata dalla classe \textsf{ModelTest.java} con i seguenti risultati:

\begin{center}
\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
\textbf{Test} 		& \textbf{Descrizione} & \textbf{Esito}\\
\hline
testSetBlockDimension() & Controlla se effettivamente viene inserita la taglia del blocco riguardante una delle simulazioni & NEGATIVO\\
\hline
testSetBlockExponent() & Controlla se effettivamente viene inserito l'esponente del blocco riguardante una delle simulazioni & NEGATIVO\\
\hline
testSetPartitionDimension() & Controlla se effettivamente viene inserita la taglia della partizione riguardante una delle simulazioni & NEGATIVO\\
\hline
testSetPartitionExponent() & Controlla se effettivamente viene inserito l'esponente della partizione riguardante una delle simulazioni & NEGATIVO\\
\hline
\end{tabular}

\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
testSetInodeDimension() & Controlla se effettivamente viene inserita la dimensioni di un i-node riguardante una delle simulazioni di tipo Ext2 & NEGATIVO\\
\hline
testSetBlockFirstInode() & Controlla se effettivamente viene inserito il numero di blocchi del primo i-node riguardante una delle simulazioni di tipo Ext2 & NEGATIVO\\
\hline
testSetMaxAddressLevel() & Controlla se effettivamente viene inserito il livello di indirizzamento massimo riguardante una delle simulazioni di tipo Ext2 & NEGATIVO\\

\hline
testSetTrack() & Controlla se effettivamente viene inserito il numero di tracce della partizione riguardante una delle simulazioni & POSITIVO: corretto il get richiamato, utilizzava il get di un altro parametro (da setBlockFileTrack a setTrack)\\
\hline
testSetSeekTime() & Controlla se effettivamente viene inserito il tempo di spostamento della testina riguardante una delle simulazioni & NEGATIVO\\
\hline
testSetRotationSpeed() & Controlla se effettivamente viene inserita la velocit\`a di rotazione del disco riguardante una delle simulazioni & NEGATIVO\\
\hline
testSetMainRecord() & Controlla se effettivamente viene inserita la dimensione del record principale riguardante una delle simulazioni di tipo Ntfs & NEGATIVO\\
\hline
testSetExtensionRecord() & Controlla se effettivamente viene inserita la dimensione del record di estensione riguardante una delle simulazioni di tipo Ntfs & NEGATIVO\\
\hline
testSetFile() & Controlla se effettivamente viene inserito il file tramite inserimento singolo riguardante una delle simulazioni & POSITIVO: corretto l'eliminazione del file gia presente all'interno della simulazione (inizialmente non veniva svuotata la lista file dalla simulazione prima del nuovo inserimento)\\
\hline
\end{tabular}

\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
testMultiFile()  & Controlla se effettivamente viene inserito il file tramite inserimento multiplo riguardante una delle simulazioni & NEGATIVO\\
\hline
testOpenSimulation() & Controlla se effettivamente viene aperta la simulazione di default tramite una open. Controlla se i valori inseriti all'interno della simulazione sono quelli del default & NEGATIVO\\
\hline
testRemoveProject() & Controlla se effettivamente viene rimosso il progetto dal vettore dei progetti & NEGATIVO\\
\hline
testGetMaxAddressLevel() & Controlla se effettivamente viene caricato il valore del massimo livello di indirizzamento riguardante una delle simulazioni di tipo Ext2 & NEGATIVO\\
\hline
testNewSimulation() & Controlla se effettivamente viene creata la nuova simulazione con parametri di default. Controlla se i valori inseriti all'interno della simulazione sono quelli del default & NEGATIVO\\
\hline
testTranslate() & Controlla se efettivamente ritorna la stringa riguardante una parola chiave dell'xml di traduzione. Controlla inoltre che la stringa ritornata sia nella lingua impostata & NEGATIVO\\
\hline
testSwitchFileSystemExt2() & Controlla se effettivamente viene cambiato il tipo del file system senza creare errori. Controlla inoltre che la "nuova" simulazione  di tipo Ext2 contenga gli stessi valori dei parametri comuni al tipo precedente & POSITIVO: ai parametri specifici di Ext2 non venivano dati dei valori, corretto con l'inserimento di valori sensati ai parametri\\
\hline
testSwitchFileSystemFat32() & Controlla se effettivamente viene cambiato il tipo del file system senza creare errori. Controlla inoltre che la "nuova" simulazione di tipo Fat32 contenga gli stessi valori dei parametri comuni al tipo precedente & NEGATIVO\\
\hline
testSwitchFileSystemNtfs() & Controlla se effettivamente viene cambiato il tipo del file system senza creare errori. Controlla inoltre che la "nuova" simulazione di tipo Ntfs contenga gli stessi valori dei parametri comuni al tipo precedente & POSITIVO: ai parametri specifici di Ntfs non venivano dati dei valori, corretto con l'inserimento di valori sensati ai parametri\\
\hline
\end{tabular}

\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
testGetPartitionDimension() & Controlla se effettivamente viene caricato il valore della dimensione della partizione riguardante una delle simulazioni & NEGATIVO\\

\hline
testStartSimulationExt2() & Controlla se vengono effettivamente richiamati i metodi per il calcolo dei risultati per una simulazione di tipo Ext2 & NEGATIVO\\
\hline
testStartSimulationFat32() & Controlla se vengono effettivamente richiamati i metodi per il calcolo dei risultati per una simulazione di tipo Fat32 & NEGATIVO\\
\hline
testStartSimulationNtfs() & Controlla se vengono effettivamente richiamati i metodi per il calcolo dei risultati per una simulazione di tipo Ntfs & NEGATIVO\\
\hline
testLoadSetup() & Controlla se efettivamente vengono impostati i parametri di default del setup di SiFiSy & NEGATIVO\\
\hline
testResetToDefault() & Controlla se effettivamente la simulazione ritorna ad avere tutti i parametri della simulazione di default & NEGATIVO\\
\hline
testRemoveSimulation() & Controlla se effettivamente la simulazione viene rimossa dal vector di simulazioni & NEGATIVO\\
\hline
testAddSimulation() & Controlla se effettivamente la simulazione viene inserita nel vector di simulazioni & NEGATIVO\\
\hline
testGetFsType() & Controlla se effettivamente ritorna il tipo del file system utilizzato per la simulazione & NEGATIVO\\
\hline
testSetAllocationType() & Controlla se effettivamente viene impostato il tipo di allocazione utilizzato per la simulazione & NEGATIVO\\
\hline
testGetAdvanced() & Controlla se effettivamente ritorna il valore del campo advanced (quindi se si desiderano i calcoli riguardanti le avanzate del disco) & NEGATIVO\\
\hline
\end{tabular}
\end{center}

\newpage
\paragraph{SimulationManager}
La classe \textsf{SimulationManager.java} \`e stata testata dalla classe \textsf{SimulationManagerTest.java} con i seguenti risultati:

\begin{center}
\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
\textbf{Test} 		& \textbf{Descrizione} & \textbf{Esito}\\
\hline
testCheckFileOk() & Controlla se effettivamente con parametri di file singolo corretti, non vengono lanciati errori di coerenza con partizione e blocco & NEGATIVO\\
\hline
testFileOk() & Controlla se effettivamente con parametri di file singolo corretti, non vengono lanciati errori & NEGATIVO\\
\hline
testBlockOk() & Controlla se effettivamente con parametri del blocco corretti, non vengono lanciati errori & NEGATIVO\\
\hline
testPartOk() & Controlla se effettivamente con parametri della partizione corretti, non vengono lanciati errori & NEGATIVO\\
\hline
testMultiFileOk()  & Controlla se effettivamente con parametri di file in inserimentomultiplo corretti, non vengono lanciati errori & NEGATIVO\\
\hline
testFileNaN() & Controlla se effettivamente venga lanciato l'errore di file "Not a Number" nel caso in cui come parametro della dimensione del file singolo viene inserita una stringa & NEGATIVO\\
\hline
testBlockNaN() & Controlla se effettivamente venga lanciato l'errore di blocco "Not a Number" nel caso in cui come parametro del blocco viene inserita una stringa & NEGATIVO\\

\hline
testPartNaN() & Controlla se effettivamente venga lanciato l'errore di partizione "Not a Number" nel caso in cui come parametro della partizione viene inserita una stringa & NEGATIVO\\
\hline
testMultiFileNaN() & Controlla se effettivamente venga lanciato l'errore di file (con inserimento multiplo) "Not a Number" nel caso in cui come parametro della dimensione del file (con inserimento multiplo) viene inserita una stringa & NEGATIVO\\
\hline
TestCheckFileNaN() & Controlla se effettivamente venga lanciato l'errore di file "Not a Number" nel caso in cui come parametro della dimensione del file singolo viene inserita una stringa & NEGATIVO\\
\hline
\end{tabular}

\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
testFileSmall() & Controlla se effettivamente venga lanciato l'errore di file "Small" nel caso in cui come parametro della dimensione del file singolo viene inserito un valore negativo o pari a zero & NEGATIVO\\
\hline
testBlockSmall() & Controlla se effettivamente venga lanciato l'errore di blocco "Small" nel caso in cui come parametro della dimensione del blocco viene inserito un valore negativo o pari a zero & NEGATIVO\\
\hline
testPartSmall() & Controlla se effettivamente venga lanciato l'errore di partizione "Small" nel caso in cui come parametro della dimensione della partizione viene inserito un valore negativo o pari a zero & NEGATIVO\\

\hline
testMultiFileSmall() & Controlla se effettivamente venga lanciato l'errore di file (con inserimento multiplo) "Small" nel caso in cui come parametro della dimensione del file singolo (con inserimento multiplo) viene inserito un valore negativo o pari a zero & NEGATIVO\\
\hline
testFileBig() & Controlla se effettivamente venga lanciato l'errore di file "Big" nel caso in cui come parametro della dimensione del file singolo viene inserito un valore troppo grande & NEGATIVO\\
\hline
testBlockBig() & Controlla se effettivamente venga lanciato l'errore di blocco "Big" nel caso in cui come parametro della dimensione del blocco viene inserito un valore troppo grande & NEGATIVO\\
\hline

testPartBig() & Controlla se effettivamente venga lanciato l'errore di partizione "Big" nel caso in cui come parametro della dimensione della partizione viene inserito un valore troppo grande & NEGATIVO\\
\hline
testMultiFileBig() & Controlla se effettivamente venga lanciato l'errore di file (con inserimento multiplo) "Big" nel caso in cui come parametro della dimensione del file singolo (con inserimento multiplo) viene inserito un valore troppo grande & NEGATIVO\\
\hline
testCheckFileBig() & Controlla se effettivamente venga lanciato l'errore di file "Big" nel caso in cui come parametro della dimensione del file singolo viene inserito un valore troppo grande & NEGATIVO\\
\hline
\end{tabular}

\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
testBlockVsPart() & Controlla se effettivamente venga lanciato l'errore di coerenza tra blocco e partizione nel caso in cui i valori di blocco e partizione non siano coerenti tra loro & NEGATIVO\\
\hline
testPartVsBlock() & Controlla se effettivamente venga lanciato l'errore di coerenza tra partizione e blocco nel caso in cui i valori di partizione e blocco non siano coerenti tra loro & NEGATIVO\\
\hline
testFileVsPart() & Controlla se effettivamente venga lanciato l'errore di coerenza tra file e partizione nel caso in cui i valori di file e partizione non siano coerenti tra loro & POSITIVO: corretto il lancio dell'errore, veniva lanciato l'errore di coerenza per il file multiplo\\
\hline
testPartVsFile() & Controlla se effettivamente venga lanciato l'errore di coerenza tra partizione e file nel caso in cui i valori di partizione e file non siano coerenti tra loro & POSITIVO: corretto if per il controllo di coerenza, il codice dell'if e dell'else erano invertiti\\
\hline
testPartVsMultiFile() & Controlla se effettivamente venga lanciato l'errore di coerenza tra file (con inserimento multiplo) e partizione nel caso in cui i valori di file (con inserimento multiplo) e partizione non siano coerenti tra loro & NEGATIVO\\

\hline
testMultiFileVsPart() & Controlla se effettivamente venga lanciato l'errore di coerenza tra  partizione e file (con inserimento multiplo) nel caso in cui i valori di partizione e file (con inserimento multiplo) non siano coerenti tra loro & NEGATIVO\\
\hline
testUpdateError() & Controlla se gli errori relativi a file singolo e multiplo vengono efettivamente resettati & NEGATIVO\\
\hline
testValidMultiFile() & Controlla se non ritornano errori nel caso in cui tutti i parametri del file multiplo sono corretti e non sono presenti errori di coerenza con gli altri varametri della simulazione & NEGATIVO\\
\hline
\end{tabular}

\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
testValidMultiFileNoValid() & Controlla se ritorna un valore booleano false nel caso in cui o i parametri del file multiplo non sono corretti oppure sono presenti errori di coerenza tra parametri di file (con inserimento multiplo) e gli altri parametri della simulazione & NEGATIVO\\
\hline
testTestAddFile() & Controlla che vanga richiamato il metodo del model per l'inserimento di un file nel caso in cui i parametri sono corretti & NEGATIVO\\
\hline
testTestDeleteFile() & Controlla che vanga richiamato il metodo del model per l'eliminazione di un file nel caso in cui i parametri sono corretti & NEGATIVO\\
\hline
\end{tabular}
\end{center}

\paragraph{ProjectManager}
La classe \textsf{ProjectManager.java} \`e stata testata dalla classe \textsf{ProjectManagerTest.java} con i seguenti risultati:

\begin{center}
\begin{tabular}{|p{4.5cm}|p{5.5cm}|p{2.5cm}|}
\hline
\textbf{Test} 		& \textbf{Descrizione} & \textbf{Esito}\\
\hline
testAddSimulation() & Controlla se l'operazione di inserimento di una simulazione in un progetto \`e corretta  & POSITIVO\\
\hline
testRemoveSimulation() & Controlla se l'operazione di rimozione di una simulazione da un progetto \`e corretta & POSITIVO\\
\hline
testStartCompareSuccess () & Controlla che la comparazione di simulazioni che non contengono errori rimandi alla schermata dei risultati & POSITIVO\\
\hline
testStartCompareFail() & Controlla che la comparazione di simulazioni che contengono errori non rimandi alla schermata dei risultati & POSITIVO\\
\hline
testAddCompare() & Controlla che l'aggiunta di un parametro di comparazione tra le simulazioni di un progetto non contenga errori & POSITIVO\\
\hline
testRemoveCompare() & Controlla che la rimozione di un parametro di comparazione tra le simulazioni di un progetto non contenga errori & POSITIVO\\
\hline

\end{tabular}
\end{center}

\end{document}